#include <stdio.h>

int main(void)
{
	int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	int *p = NULL;
	p = array;

	printf("p: %p\n", p); // 首元素地址
	printf("p + 1: %p\n", p + 1); // 第二个元素地址
	printf("*(p + 1): %d\n", *(p + 1)); // 第二个元素值
	printf("(p + 10): %p\n", (p + 10)); // 数组最后一个元素后的地址
	printf("*(p + 10): %d\n", *(p + 10)); // 数组最后一个元素后的值（随机值）

	p = array + 2;
	printf("p: %p\n", p); // 第三个元素地址

	p--;
	printf("p: %p\n", p); // 第二个元素地址

	p = p + 3;
	printf("p = p + 3: %p\n", p);
	printf("&p: %p\n", &p);

	return 0;
}
